(define (my-cons x y)
  (define (dispatch m)
    (cond ((= m 0) (expt 2 x))
          ((= m 1) (expt 3 y))
          (else (error "Argument not 0 or 1 -- CONS" m))))
  dispatch)

(define (find-multi-times n divisor) 
  (define (iter try-exp) 
    (if (= 0 (remainder n (exp divisor try-exp))) 
      (iter (+ try-exp 1))
      (- try-exp 1))) 

  (iter 1)) 

(define (my-car z) (find-multi-times z 2))

(define (my-cdr z) (find-multi-times z 3))))
